//index.js
const app = getApp()

Page({
  data: {
    invoice: {},
  },

  onLoad: function (options) {
    if (!wx.cloud) {
      wx.redirectTo({
        url: '../chooseLib/chooseLib',
      })
      return
    }
    console.log("invoiceForm options => ", options)
    console.log("invoiceForm app.globalData.invoice => ", app.globalData.invoice)
    if (options.idx != null) {
      this.setData({
        invoice: app.globalData.invoice
      })
      
      // wx.showLoading({
      //   title: '加载中',
      // })
      // setTimeout(function () {
      //   wx.hideLoading()
      // }, 2000)
      // wx.cloud.callFunction({
      //   name: 'invoice_get_by_id',
      //   data: {
      //     invoice_id: options._id
      //   },
      //   success: res => {
      //     console.log(res)
      //     wx.hideLoading()
      //     if (res.result.code == 1) {
      //       this.setData({
      //         invoice: res.result.data
      //       })
      //     }
      //   },
      //   fail: err => {
      //     wx.hideLoading()
      //     wx.showToast({
      //       icon: 'none',
      //       title: '抬头查询失败',
      //     })
      //     console.error('[云函数] [invoice_get_by_id] 调用失败：', err)
      //   }
      // })
    }
    
  },

  invoiceSubmit: function (e) {

    //表单数据
    var objData = e.detail.value;
    
    console.log("invoiceForm invoiceSubmit => ", objData)

    if (objData._id != null) {
      this.updateInvoice(objData)
    } else {
      this.addInvoice(objData)
    }
    
    // const db = wx.cloud.database()
    // db.collection('invoices').add({
    //   data: e.detail.value,
    //   success: res => {
    //     wx.showToast({
    //       title: '新增发票抬头成功',
    //     })
    //     console.log('[数据库] [新增记录] 成功，记录 _id: ', res._id)
    //     wx.navigateBack({})
    //   },
    //   fail: err => {
    //     wx.showToast({
    //       icon: 'warn',
    //       title: '新增发票抬头失败'
    //     })
    //     console.error('[数据库] [新增记录] 失败：', err)
    //   }
    // })

  },

  addInvoice: function(objData) {
    wx.showLoading({
      title: '保存中',
    })
    setTimeout(function () {
      wx.hideLoading()
    }, 2000)
    objData.createDate = Date.now()
    wx.cloud.callFunction({
      name: 'invoice_add',
      data: {
        invoice: objData
      },
      success: res => {
        console.log("invoiceForm updateInvoice result => ", res)
        wx.hideLoading()
        if (res.result.code == 1) {
          wx.navigateBack({
            success: function () {
              app.globalData.reload = true
              // wx.showToast({
              //   title: '新增发票抬头成功',
              // })
            },
            complete: function () {
              //refresh
              wx.startPullDownRefresh()
            }
          })
        }
      },
      fail: err => {
        wx.showToast({
          icon: 'none',
          title: '新增发票抬头失败',
        })
        console.error('[云函数] [invoice_add] 调用失败：', err)
      }
    })
  },

  updateInvoice: function(objData) {
    wx.showLoading({
      title: '更新中',
    })
    setTimeout(function () {
      wx.hideLoading()
    }, 2000)
    wx.cloud.callFunction({
      name: 'invoice_update',
      data: {
        invoice: objData
      },
      success: res => {
        console.log("invoiceForm addInvoice result => ", res)
        wx.hideLoading()
        if (res.result.code == 1) {
          wx.navigateBack({
            success: function () {
              app.globalData.reload = true
              // wx.showToast({
              //   title: '发票抬头更新成功',
              // })
            },
            complete: function () {
              //refresh
              wx.startPullDownRefresh()
            }
          })
        }
      },
      fail: err => {
        wx.hideLoading()
        wx.showToast({
          icon: 'none',
          title: '发票抬头更新失败',
        })
        console.error('[云函数] [invoice_update] 调用失败：', err)
      }
    })
  },

})
